কম্পিউটারকে দিয়ে কোনো কাজ করাতে হলে তাকে বিশেষভাবে নির্দেশ দিতে হয়। কম্পিউটারের প্রসেসর কেবল একটি নির্দিষ্ট সেটের কমান্ড এক্সিকিউট করতে পারে, যাকে বলে ইনস্ট্রাকশন সেট। কিন্তু প্রোগ্রামাররা সাধারণত সেই ভাষায় প্রোগ্রাম লেখেন না, বরং প্রোগ্রাম তৈরি করার জন্য শত শত প্রোগ্রামিং ভাষা চালু
বিভিন্ন দশকে উদ্ভাবিত কিছু গুরুত্বপূর্ণ প্রোগ্রামিং
1954-57
1956-59
কোবোল (Cabal)
বেসিক (Basic)
1959-60
1964
পাস (Pascal)
1970
1972
(c)
++ (C++) পা (Peri)
গা (Go)
2003
2009
1983
1987
রাস্ট (Rust)
কটলিন (Kotlin )
ফোরট্রাম (Fortran
नিপ (Lisp)
2010
2011
পাইথন (Python)
1989
ভিজুয়াল বেসিক (Visual Basic)
পিএইচপি (PHP)
ater ( Java)
tefipit (Javascript)
Et (Scala)
কম্পিউটারের প্রসেসর বাইনারি সংখ্যা পদ্ধতি ব্যবহার করে বিভিন্ন হিসেব করে। বাইনারি সংখ্যা পদ্ধতিতে কেবল দুটি অক্ষ রয়েছে- 130। এই দুটি অঙ্ক ব্যবহার করেই প্রসেসরের জন্য বিশেষ সংকেত তৈরি করা হয়। 1 দিয়ে তৈরি যে প্রোগ্রাম, তাকে বলে মেশিন কোড (machine code), আর এই ভাষাটিকে বলা হয় মেশিন ল্যাঙ্গুয়েজ। কম্পিউটারের জন্য মেশিন কোড খুব সহজবোধ্য হলেও মানুষের জন্য মেশিন ল্যাঙ্গুয়েজের কোড পড়া দুঃসাধ্য ব্যাপার। কারণ কোডে কেবল 0 আর 1 থাকে। তাই মানুষের পক্ষে এই ভাষায় বড় প্রোগ্রাম তৈরি করা অসম্ভব বলা চলে।
কম্পিউটার প্রোগ্রামিংকে সহজ করার জন্য বিভিন্ন প্রসেসর নির্মাতা প্রতিষ্ঠান তাদের প্রসেসরের সঙ্গে তৈরি করেন একটি ইনস্ট্রাকশন সেট। ইনস্ট্রাকশন সেটে কিছু সহজ ইনস্ট্রাকশন দিয়ে দেওয়া হলো যেগুলো ব্যবহার করে প্রসেসরকে নির্দেশ দেওয়া যায় বা প্রোগ্রাম তৈরি করা যায়। কেবল 0 আর 1 ব্যবহার করার চেয়ে ইনস্ট্রাকশন সেট ব্যবহার করে প্রোগ্রাম লেখা অপেক্ষাকৃত সহজ হয়।
কম্পিউটারের প্রসেসর বাইনারি সংখ্যা পদ্ধতি ব্যবহার করে বিভিন্ন হিসেব করে। বাইনারি সংখ্যা পদ্ধতিতে কেবল দুটি অক্ষ রয়েছে- 130। এই দুটি অঙ্ক ব্যবহার করেই প্রসেসরের জন্য বিশেষ সংকেত তৈরি করা হয়। 1 দিয়ে তৈরি যে প্রোগ্রাম, তাকে বলে মেশিন কোড (machine code), আর এই ভাষাটিকে বলা হয় মেশিন ল্যাঙ্গুয়েজ। কম্পিউটারের জন্য মেশিন কোড খুব সহজবোধ্য হলেও মানুষের জন্য মেশিন ল্যাঙ্গুয়েজের কোড পড়া দুঃসাধ্য ব্যাপার। কারণ কোডে কেবল 0 আর 1 থাকে। তাই মানুষের পক্ষে এই ভাষায় বড় প্রোগ্রাম তৈরি করা অসম্ভব বলা চলে।
কম্পিউটার প্রোগ্রামিংকে সহজ করার জন্য বিভিন্ন প্রসেসর নির্মাতা প্রতিষ্ঠান তাদের প্রসেসরের সঙ্গে তৈরি করেন একটি ইনস্ট্রাকশন সেট। ইনস্ট্রাকশন সেটে কিছু সহজ ইনস্ট্রাকশন দিয়ে দেওয়া হলো যেগুলো ব্যবহার করে প্রসেসরকে নির্দেশ দেওয়া যায় বা প্রোগ্রাম তৈরি করা যায়। কেবল 0 আর 1 ব্যবহার করার চেয়ে ইনস্ট্রাকশন সেট ব্যবহার করে প্রোগ্রাম লেখা অপেক্ষাকৃত সহজ হয়।
অ্যাসেম্বলি ল্যাঙ্গুয়েজ এবং উচ্চস্তরের ভাষার মধ্যবর্তী ভাষাকে মধ্যম স্তরের ভাষা বলে। এটি কম্পিউটারের হার্ডওয়্যার এবং প্রোগ্রামিংয়ের মাঝে একটি সেতু বন্ধন তৈরি করে দেয়। সি ল্যাঙ্গুয়েজ মধ্যম স্তরের ভাষার একটি চমৎকার উদাহরণ কারণ এটি দিয়ে একদিকে অপারেটিং সিস্টেমের মতো সিস্টেম প্রোগ্রামিং করা যায় অন্যদিকে তেমনি দৈনন্দিন ব্যবহারের জন্য অ্যাপ্লিকেশন সফটওয়্যার তৈরি করা যায়।
মেশিন ল্যাঙ্গুয়েজ ও অ্যাসেম্বলি ল্যাঙ্গুয়েজ হচ্ছে লো-লেভেল প্রোগ্রামিং ভাষা। অ্যাসেম্বলি ল্যাঙ্গুয়েজ প্রোগ্রামারদের জন্য আগের চেয়ে সহজে প্রোগ্রাম লেখার ব্যবস্থা করলেও এ ভাষায় বড় বড় প্রোগ্রাম লেখাটা অনেক কঠিন এবং সময় সাপেক্ষ। প্রোগ্রামিং ব্যবহার করে মানুষ যখন বিভিন্ন ধরনের সমস্যার সমাধান করতে লাগল, তখন প্রয়োজন হলো এমন ধরনের প্রোগ্রামিং ভাষার, যে সব ভাষায় প্রোগ্রাম লেখা ও পড়া মানুষের জন্য অনেক বেশি সহজ হবে। তখন তৈরি হলো উচ্চ স্তরের প্রোগ্রামিং ভাষা। কোবল (Cobol), ফোরট্রান (Fortran), সি (C) ইত্যাদি প্রোগ্রামিং ভাষার আবিষ্কারের ফলে প্রোগ্রামিং ভাষা অনেকখানি বদলে গেল। এসব ভাষা ব্যবহার করে বিভিন্ন সমস্যা আগের চেয়ে অনেক দ্রুত প্রোগ্রাম লিখে সমাধান করা যেত। তাই এসব ভাষাকে উচ্চস্তরের প্রোগ্রামিং ভাষা বলা হতো। তবে সময়ের সঙ্গে আরো নতুন নতুন প্রোগ্রামিং ভাষা তৈরি হলো, যেগুলো প্রোগ্রামিং ভাষাকে আরো সহজবোধ্য করল এবং এসব ভাষা ব্যবহার করে প্রোগ্রাম ডিজাইন করাও সহজ হলো। যেমন- সি প্লাস প্লাস (C++), জাভা ( Java), সি শার্প (C#), পিএইচপি (PHP), পাইথন (Python) ইত্যাদি। বর্তমানে এগুলোকে হাই লেভেল প্রোগ্রামিং ভাষা হিসেবে বিবেচনা করা হয়।
সি (C) : সি একটি সাধারণভাবে ব্যবহারের উপযোগী অত্যন্ত জনপ্রিয় প্রোগ্রামিংয়ের ভাষা। 1972 সালে ডেনিস রিচি (Dennis Ritchie) বেল ল্যাবে এই ভাষাটি তৈরি করেন। বলা হয়ে থাকে এই ভাষাটি জানা থাকলে কম্পিউটারের অন্য যে কোনো ভাষা শেখা খুব সহজ। সি ল্যাঙ্গুয়েজ দিয়ে অপারেটিং সিস্টেম থেকে জটিল ডাটাবেজ ম্যানেজমেন্ট প্রোগ্রাম, ইন্টারনেট ব্রাউজার কিংবা ইন্টারপ্রেটার পর্যন্ত সবকিছু তৈরি করা যায়। এটি একটি চমৎকার স্ট্রাকচার্ড প্রোগ্রামিং ভাষা, এখানে ছোট ছোট অসংখ্য অংশকে সমন্বয় করে একটি জটিল প্রোগ্রাম তৈরি করা যায়।
সি প্লাস প্লাস (C++) : প্রোগ্রামিংয়ের জগতে ক্লাস একটি গুরুত্বপূর্ণ ধারণা। একই ধরনের বৈশিষ্ট্য রয়েছে সেরকম কিছুকে ক্লাস বলে অভিহিত করা হয়। সি প্রোগ্রামিং ল্যাঙ্গুয়েজের সাথে ক্লাস সংযুক্ত করে এবং পরে আরো নতুন কিছু বৈশিষ্ট্য যোগ করে C++ ল্যাঙ্গুয়েজের সূচনা হয়। 1980 সালে বেল ল্যাবে কর্মরত জর্ন স্ট্রাউস্ট্রপ (Bjarne Stroustrop) এই ভাষাটি উদ্ভাবন করেন। একজন প্রোগ্রামারকে পুরোপুরি নিজের মতো প্রোগ্রামিং করার স্বাধীনতা দেওয়া এই ভাষাটির একটি মূল নীতি। ভিজুয়াল বেসিক (Visual Basic ) 1991 সালে মাইক্রোসফট তাদের উইন্ডোজ অপারেটিং সিস্টেমে প্রোগ্রামিং করার জন্য ভিজুয়াল বেসিক ল্যাঙ্গুয়েজ উদ্ভাবন করেছিল। এটি মোটামুটি একটি স্থিতিশীল পর্যায়ে পৌঁছানোর সাথে সাথে ব্যাপক জনপ্রিয়তা লাভ করেছিল। অত্যন্ত সহজে এর প্রোগ্রামিং করার কারণে এবং প্রোগ্রামের পরিবর্তন করা হলে পুনরায় কম্পাইল না করেই প্রোগ্রাম চালানোর সুবিধার জন্য প্রোগ্রামার এবং সাধারণ ব্যবহারকারী সবার কাছে সমান জনপ্রিয় ছিল।
জাভা (Java) : 1991 সালে সান মাইক্রো সিস্টেম জাভা প্রোগ্রামিং ভাষার সূচনা করে। এটি বর্তমানে একটি জনপ্রিয় ভাষা। এর একটি প্রধান বৈশিষ্ট্য হচ্ছে এটি একটি প্লাটফর্মে কম্পাইল করে নিলে জাভা ব্যবহার করে সেরকম অন্য যে কোনো প্লাটফর্মে সরাসরি ব্যবহার করা যায় (WORA: Write Once, Run Anywhere)। গুরুত্বপূর্ণ ওয়েব ব্রাউজারগুলো ওয়েব পেজের ভেতর জাভা অ্যাপলেট চালু করার সক্ষমতা দেওয়ার কারণে এটি খুবই দ্রুত সবার কাছে জনপ্রিয় হয়ে উঠে।
অ্যালগল (Algol) : ইউরোপ এবং আমেরিকার বেশ কিছু কম্পিউটার বিজ্ঞানীদের সম্মিলিত প্রচেষ্টায় 1958 সালে ALGOL (Algorithmic Language) প্রোগ্রামিং ভাষাটি জন্ম নেয়। সেই সময়ের অন্য প্রোগ্রামিং ভাষার তুলনায় এটি অনেক বেশি ভবিষ্যৎমুখী এবং আধুনিক একটি প্রোগ্রামিং ভাষা ছিল। এমনকি বর্তমানের আধুনিক প্রোগ্রামিং ভাষার সিন্টেক্সেও অ্যালগল ভাষার ছাপ লক্ষ করা যায়। বিজ্ঞান এবং গবেষণাতে অ্যালগল ব্যাপকভাবে ব্যবহার হলেও সহজ ইনপুট এবং আউটপুট প্রযুক্তির অভাবে ব্যবসা- বাণিজ্যের জগতে এটি তেমন সুপরিচিত হওয়ার সুযোগ পায়নি।
ফোরট্রান (Fortran) : 1957 সালে আইবিএম কোম্পানি বিজ্ঞান এবং প্রযুক্তির ক্ষেত্রে ব্যবহারের জন্য ফোরট্রান (Formula Translation) নামে একটি উচ্চস্তরের ভাষা উদ্ভাবন করে। এটি গাণিতিক বিশ্লেষণ করার জন্য বিশেষ পারদর্শী ছিল বলে বিজ্ঞানী এবং গবেষকরা এই ভাষাটিকে সাদরে গ্রহণ করে নেয়। একসময় পৃথিবীর প্রায় সব বৈজ্ঞানিক গবেষণায় এই ভাষা এককভাবে ব্যবহার কর হতো। শুনে অবিশ্বাস্য মনে হতে পারে কিন্তু অত্যন্ত দ্রুত হিসাব করতে পারে বলে বড় বড় সিমুলেশনে ব্যবহার করার জন্য এখনো এই ভাষাটি টিকে আছে। (দ্রুততায় এর কাছাকাছি অন্য ভাষাটি হচ্ছে C++) 2018 সালে ফোরট্রানের সর্বশেষ ভার্সনটি রিলিজ করা হয়েছে। ফোরট্রান ব্যবহার করে পদার্থবিজ্ঞান এবং রসায়নের অনেক বড় বড় গাণিতিক সমস্যার সমাধান করে রাখায় এখনো তার কোনো কোনোটি বিজ্ঞানীরা তাদের গবেষণার কাজে ব্যবহার করেন।
পাইথন (Python) : গিডো ভান রসাম (Gido van Rossum) 1991 সালে পাইথন উদ্ভাবন করেন। এটি বর্তমানে সবচেয়ে জনপ্রিয় ভাষাগুলোর একটি এবং 2018 সালে এটি IEEE কর্তৃক সর্বশ্রেষ্ঠ প্রোগ্রামিং ভাষা হিসেবে স্বীকৃতি পেয়েছে। পাইথনের বৈশিষ্ট্য হচ্ছে এর অত্যন্ত সহজ এবং পাঠযোগ্য সিনট্যাক্স। এটি বিভিন্ন প্ল্যাটফর্মে চলে এবং ক্লাউডভিত্তিক ওয়েব অ্যাপ্লিকেশন, ডেটা অ্যানালাইসিস ও মেশিন লার্নিং অ্যাপ্লিকেশন তৈরিতে ব্যবহার করা হয়।
প্রোগ্রামিংকে মানুষের জন্য আরো সহজ করার প্রচেষ্টা অব্যাহত থাকে এবং যার ফলে এমন প্রোগ্রামিং ভাষা তৈরি হয়, যেগুলো মানুষের ভাষার কিছুটা কাছাকাছি। এসব প্রোগ্রামিং ভাষাকে বলা হয় চতুর্থ প্রজন্মের ভাষা বা 4GL। ডেটাবেজ অধ্যায়ে যে SQL ভাষা দেখানো হয়েছে, সেটি হচ্ছে 4GL ভাষা। এ ছাড়াও যখন নানা ধরনের সফটওয়্যার টুলে গ্রাফিকেল ইন্টারফেস ব্যবহার করা হয়, একটি মেনু কিংবা বাটনে চাপ দিয়ে কিছু করে ফেলা যায়, তার পিছনেও চতুর্থ প্রজন্মের ভাষার অবদান আছে বলে বিবেচনা করা হয়।
Read more